From: Florian Müllner Date: Thu, 19 Mar 2015 21:54:21 +0000 (+0100) Subject: legacyTray: Try to set an accessible name for status icons X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1437 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=28ef88911c5e1ae37a98dc0519173f2cb04d5aaf;p=gnome-shell.git legacyTray: Try to set an accessible name for status icons While legacy status icons lack a proper accessible name of their own, we can try to find the corresponding application or the icon's window title - hopefully most status icons provide at least one, so they don't show up completely "blank" in screen readers. https://bugzilla.gnome.org/show_bug.cgi?id=746487 --- diff --git a/js/ui/legacyTray.js b/js/ui/legacyTray.js index 6e8953bf8..57a756a4b 100644 --- a/js/ui/legacyTray.js +++ b/js/ui/legacyTray.js @@ -147,6 +147,17 @@ const LegacyTray = new Lang.Class({ St.ButtonMask.THREE, can_focus: true, x_fill: true, y_fill: true }); + + let app = Shell.WindowTracker.get_default().get_app_from_pid(icon.pid); + if (!app) + app = Shell.AppSystem.get_default().lookup_startup_wmclass(wmClass); + if (!app) + app = Shell.AppSystem.get_default().lookup_desktop_wmclass(wmClass); + if (app) + button.accessible_name = app.get_name(); + else + button.accessible_name = icon.title; + button.connect('clicked', function() { icon.click(Clutter.get_current_event());